package com.woniuxy.dao;

import com.woniuxy.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {
    public List<User> selectAllUsers();

    /**
     * 通过用户名和密码进行查询用户对象
     * @param phone
     * @param lpass
     * @return
     */
    public User selectUserByTelAndPwd(@Param("phone") String phone, @Param("lpass") String lpass);

    /**
     * 通过手机号码查询用户对象
     * @return
     */
    public User selectUserByTel(String phone);

    /**
     * 通过角色的id查询到用户的集合
     * @param rid
     * @return
     */
    public List<User> selectUsersByRid(int rid);

    /**
     * 通过部门id查找该部门的所有用户
     * @param dept_id
     * @return
     */
    public List<User> selectUsersByDid(int dept_id);

    /**
     * 向q_users表中添加数据
     * @param user
     * @return
     */
    public int insertUser(User user);

    /**
     * 向q_users_role中间表增加数据
     * @param usid
     * @param rid
     */
    public void insertUserRole(@Param("usid") int usid, @Param("rid") int rid);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    public int updateUser(User user);

    /**
     * 通过条件查询用户列表
     *
     * @param user
     * @return
     */
    public List<User> selectUsersByCondition(User user);

    /**
     * 通过id删除用户
     *
     * @param id
     */
    public void deleteUserById(int id);

    /**
     * 通过usid删除用户角色中间表数据
     * @param usid
     */
    public void deleteUserRoleByUsid(int usid);

    public User selectUserById(int id);

    public User selectUserByRname(String rname);

    public int changePassword(@Param("rname")String rname,@Param("lpass")String lpass);

}
